﻿<?xml version="1.0" encoding="utf-8" ?>
<Recipe xmlns="http://schemas.microsoft.com/pag/gax-core" xmlns:xi="http://www.w3.org/2001/XInclude">
  <Actions CoordinatorServiceType="VSSDKAssist.Recipes.Common.Coordinators.ConditionalExecutionProgressCoordinator, VSSDKAssist">
    <!-- Add ProvideLoadKey attribute -->
    <Action Name="AddProvideLoadKeyAttribute"
            Type="VSSDKAssist.Recipes.ConfigureVSPlk.AddProvideLoadKeyAttributeAction, VSSDKAssist"
            StatusMessage="Creating VS Package project"
            WriteMessageToOutputWindow="true">
      <Input Name="CodeClass" RecipeArgument="VSPackageCodeClass"/>
      <Input Name="PkgCompanyName" RecipeArgument="PkgCompanyName"/>
      <Input Name="PackageName" RecipeArgument="PackageName"/>
      <Input Name="PackageVersion" RecipeArgument="PackageVersion"/>
      <Input Name="VSEdition" RecipeArgument="VSEdition"/>
      <Input Name="PlkResourceId" RecipeArgument="PlkResourceId"/>
    </Action>
    <!--Add Bitmap File-->
    <Action Name="AddBitmapFile" Type="VSSDKAssist.Assets.Actions.VisualStudio.AddItemFromFileToProjectItemAction, VSSDKAssist.Assets"
            Open="false">
      <Input Name="SourceFileName" RecipeArgument="BitmapFileName"/>
      <Input Name="InputProjectItem" RecipeArgument="BitmapDestinationFolder"/>
      <Output Name="ProjectItem" />
    </Action>
    <!--Udpdate Resx-->
    <Action Name="AddBitmapToResx"
            Type="VSSDKAssist.Recipes.Common.Actions.AddBitmapEntryToResxAction, VSSDKAssist">
      <Input Name="ResxProjectItem" RecipeArgument="ResxProjectItem"/>
      <Input Name="BitmapProjectItem" ActionOutput="AddBitmapFile.ProjectItem"/>
      <Input Name="BitmapResourceId" RecipeArgument="BitmapResourceId"/>
    </Action>
    <Action Name="AddProductNameToResx"
            Type="VSSDKAssist.Recipes.Common.Actions.AddTextEntryToResxAction, VSSDKAssist">
      <Input Name="ResxProjectItem" RecipeArgument="ResxProjectItem"/>
      <Input Name="Text" RecipeArgument="PackageName"/>
      <Input Name="TextResourceId" RecipeArgument="ProductNameResourceId"/>
    </Action>
    <Action Name="AddProductDetailsToResx"
            Type="VSSDKAssist.Recipes.Common.Actions.AddTextEntryToResxAction, VSSDKAssist">
      <Input Name="ResxProjectItem" RecipeArgument="ResxProjectItem"/>
      <Input Name="Text" RecipeArgument="PackageProductDetails"/>
      <Input Name="TextResourceId" RecipeArgument="ProductDetailsResourceId"/>
    </Action>
    <Action Name="AddProductVersionToResx"
            Type="VSSDKAssist.Recipes.Common.Actions.AddTextEntryToResxAction, VSSDKAssist">
      <Input Name="ResxProjectItem" RecipeArgument="ResxProjectItem"/>
      <Input Name="Text" RecipeArgument="PackageVersion"/>
      <Input Name="TextResourceId" RecipeArgument="ProductVersionResourceId"/>
    </Action>
    <!--Add InstalledProductRegistration attribute-->
    <Action Name="AddInstalledProductRegistrationAttribute"
          Type="VSSDKAssist.Recipes.ConfigureSplashAboutScreens.AddInstalledProductRegistrationAttributeAction, VSSDKAssist"
          GenerateSplash="false">
      <Input Name="CodeClass" RecipeArgument="VSPackageCodeClass"/>
      <Input Name="ProductName" RecipeArgument="PackageName"/>
      <Input Name="ProductNameResourceId" RecipeArgument="ProductNameResourceId"/>
      <Input Name="ProductDetailsResourceId" RecipeArgument="ProductDetailsResourceId"/>
      <Input Name="ProductVersion" RecipeArgument="PackageVersion"/>
      <Input Name="BitmapResourceId" RecipeArgument="BitmapResourceId"/>
    </Action>
    <!--Create VsPackageGuids.h-->
    <Action Name="GenerateVsPackageGuids"
          Type="Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates.TextTemplateAction, Microsoft.Practices.RecipeFramework.VisualStudio.Library"
          Template="TT\VSPackage\VsPackageGuidh.tt">
      <Input Name="PackageGuid" RecipeArgument="PackageGuid"/>
      <Input Name="PackageCmdSetGuid" RecipeArgument="PackageCmdSetGuid"/>
      <Output Name="Content" />
    </Action>
    <Action Name="AddVsPackageGuidsContent"
          Type="VSSDKAssist.Assets.Actions.VisualStudio.AddItemFromStringToProjectItemAction, VSSDKAssist.Assets"
          Open="false"
          TargetFileName="VsPackageGuids.h">
      <Input Name="Content" ActionOutput="GenerateVsPackageGuids.Content" />
      <Input Name="InputProjectItem" RecipeArgument="PackageFolder" />
      <Output Name="ProjectItem" />
    </Action>
    <!--Create VsPackageConstants.cs-->
    <Action Name="GenerateVsPackageConstants"
          Type="Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates.TextTemplateAction, Microsoft.Practices.RecipeFramework.VisualStudio.Library"
          Template="TT\VSPackage\VsPackageConstantscs.tt">
      <Input Name="PackageNamespace" RecipeArgument="VSPackageProjectName"/>
      <Input Name="PackageGuid" RecipeArgument="PackageGuid"/>
      <Input Name="PackageCmdSetGuid" RecipeArgument="PackageCmdSetGuid"/>
      <Output Name="Content" />
    </Action>
    <Action Name="AddVsPackageConstantsContent"
          Type="VSSDKAssist.Assets.Actions.VisualStudio.AddItemFromStringToProjectItemAction, VSSDKAssist.Assets"
          Open="false"
          TargetFileName="VsPackageConstants.cs">
      <Input Name="Content" ActionOutput="GenerateVsPackageConstants.Content" />
      <Input Name="InputProjectItem" RecipeArgument="PackageFolder" />
      <Output Name="ProjectItem" />
    </Action>
    <!--Create Key.snk-->
    <Action Name="CreateSnk"
          Type="VSSDKAssist.Recipes.CreateSolution.CreateSnkAction, VSSDKAssist">
      <Input Name="Project" RecipeArgument="PackageProject" />
    </Action>
    <!--Create csproj.user-->
    <Action Name="GenerateCsprojUser"
          Type="Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates.TextTemplateAction, Microsoft.Practices.RecipeFramework.VisualStudio.Library"
          Template="TT\CreateSolution\CsprojUser.tt">
      <Input Name="DevEnvPath" RecipeArgument="DevEnvPath"/>
      <Output Name="Content" />
    </Action>
    <Action Name="AddCsprojUser"
          Type="VSSDKAssist.Assets.Actions.VisualStudio.CreateFileFromStringAction, VSSDKAssist.Assets">
      <Input Name="Content" ActionOutput="GenerateCsprojUser.Content"/>
      <Input Name="TargetFileName" RecipeArgument="CsProjFileName"/>
    </Action>
  </Actions>
</Recipe>